// 具体的汽车建造者A
class CarBuilderA implements CarBuilder {
    private Car car;

    public CarBuilderA() {
        this.car = new Car();
    }

    @Override
    public void buildEngine() {
        car.setEngine("Engine A");
    }

    @Override
    public void buildWheels() {
        car.setWheels("Wheels A");
    }

    @Override
    public void buildSeats() {
        car.setSeats("Seats A");
    }

    @Override
    public Car getResult() {
        return car;
    }
}

// 具体的汽车建造者B
class CarBuilderB implements CarBuilder {
    private Car car;

    public CarBuilderB() {
        this.car = new Car();
    }

    @Override
    public void buildEngine() {
        car.setEngine("Engine B");
    }

    @Override
    public void buildWheels() {
        car.setWheels("Wheels B");
    }

    @Override
    public void buildSeats() {
        car.setSeats("Seats B");
    }

    @Override
    public Car getResult() {
        return car;
    }
}
